import type { RouteRecordRaw } from "vue-router";
/**
 * 路由meta对象参数说明
 * meta: {
 *      title:          菜单栏及 tagsView 栏、菜单搜索名称（国际化）
 *      hidden：        是否隐藏此路由
 *      icon：          菜单、tagsView 图标，阿里：加 `iconfont xxx`，fontawesome：加 `fa xxx`
 * }
 */

/**
 * 静态路由（默认路由）: 不需要权限就能访问的路由表
 */
export const staticRoutes: Array<RouteRecordRaw> = [
  {
    path: "/login",
    name: "Login",
    component: () => import("@/views/login/index.vue"),
    meta: {
      hidden: true,
    },
  },

  {
    path: "/404",
    name: "404",
    component: () => import("@/views/error/404.vue"),
    meta: {
      hidden: true,
    },
  },

  {
    path: "/",
    component: () => import("@/layout/index.vue"),
    redirect: "/home",
    children: [
      {
        path: "home",
        name: "Home",
        component: () => import("@/views/home/index.vue"),
        // 1. 决定左侧菜单显示什么内容 2. 决定网站的title
        meta: {
          title: "首页",
          icon: "ele-HomeFilled",
        },
      },
    ],
  },

  /*
    如果只有一个子路由，左侧菜单会显示子路由meta.title
    如果有多个子路由，左侧菜单会显示父路由meta.title
  */
  // {
  //   path: "/product",
  //   component: () => import("@/layout/index.vue"),
  //   redirect: "/product/trademark/list",
  //   meta: {
  //     title: "商品管理",
  //     // https://element-plus.org/zh-CN/component/icon.html#icon-collection
  //     icon: "ele-ShoppingBag",
  //   },
  //   children: [
  //     {
  //       // path: "/product/trademark/list", 如果路径以 / 开头，路径就是这个地址
  //       path: "trademark/list", // 如果路径不以 / 开头，路径就会拼接上父路由路径
  //       name: "Trademark",
  //       component: () => import("@/views/product/trademark/index.vue"),
  //       meta: {
  //         title: "品牌管理", // 1. 决定左侧菜单显示什么内容 2. 决定网站的title
  //       },
  //     },
  //     {
  //       path: "category/list",
  //       name: "Category",
  //       component: () => import("@/views/product/category/index.vue"),
  //       meta: {
  //         title: "分类管理",
  //       },
  //     },
  //     {
  //       path: "attr/list",
  //       name: "Attr",
  //       component: () => import("@/views/product/attr/index.vue"),
  //       meta: {
  //         title: "平台属性管理",
  //       },
  //     },
  //     {
  //       path: "spu/list",
  //       name: "Spu",
  //       component: () => import("@/views/product/spu/index.vue"),
  //       meta: {
  //         title: "SPU管理",
  //       },
  //     },
  //     {
  //       path: "sku/list",
  //       name: "Sku",
  //       component: () => import("@/views/product/sku/index.vue"),
  //       meta: {
  //         title: "SKU管理",
  //       },
  //     },
  //   ],
  // },

  // {
  //   path: "/acl",
  //   component: () => import("@/layout/index.vue"),
  //   redirect: "/acl/user/list",
  //   meta: {
  //     title: "权限管理",
  //     icon: "ele-Setting",
  //   },
  //   children: [
  //     {
  //       path: "user/list",
  //       name: "User",
  //       component: () => import("@/views/acl/user/index.vue"),
  //       meta: {
  //         title: "用户管理",
  //       },
  //     },
  //     {
  //       path: "role/list",
  //       name: "Role",
  //       component: () => import("@/views/acl/role/index.vue"),
  //       meta: {
  //         title: "角色管理",
  //       },
  //     },
  //     {
  //       path: "role/auth",
  //       name: "RoleAuth",
  //       component: () => import("@/views/acl/role/components/RoleAuth.vue"),
  //       meta: {
  //         title: "角色管理",
  //         hidden: true,
  //         activeMenu: "/acl/role/list",
  //       },
  //     },
  //     {
  //       path: "permission/list",
  //       name: "Permission",
  //       component: () => import("@/views/acl/permission/index.vue"),
  //       meta: {
  //         title: "菜单管理",
  //       },
  //     },
  //   ],
  // },

  // /* 匹配任意的路由 必须最后注册 */
  // {
  //   path: "/:pathMatch(.*)",
  //   name: "Any",
  //   redirect: "/404",
  //   meta: {
  //     hidden: true,
  //   },
  // },
];

/**
 * 定义动态路由：需要权限才能访问的路由表
 * 由发送请求得到
 */
// export const allAsyncRoutes: Array<RouteRecordRaw> = [];

/**
 * 任意路由表：匹配任意地址，跳转到404
 * 目的：单独定义，就是为了将来动态添加路由时最后添加任意路由表，这样就能起到作用
 */
export const anyRoutes: Array<RouteRecordRaw> = [
  {
    path: "/:pathMatch(.*)",
    name: "Any",
    redirect: "/404",
    meta: {
      hidden: true,
    },
  },
];
